/*
 * Copyright (C) 2006-2015
 * 版权所有者为北京捷越联合信息咨询有限公司。本系统是商用软件,未经授权擅自复制或传播本程序的部分或全部将是非法的。
 * @title: TBJNoticeService.java
 * @package com.jy.modules.cims.task.service
 * @author zhaox
 * @date 2015-9-7 下午3:54:15
 * @version v1.00
 * @description: TODO(用一句话描述该文件做什么)
 */

package com.jy.modules.cims.component.tbj;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import com.jy.modules.cims.component.tbj.TBJBusinessClient;
import com.jy.modules.cims.data.dao.NoticeDao;
import com.jy.modules.cims.data.dto.inter.tbj.TBJMessage;
import com.jy.modules.cims.data.dto.inter.tbj.jj.NoticeDTO;

/**
 * 查询02已完成的募集计划通知
 * 
 * @classname: TBJNoticeService
 * @description: TODO(这里用一句话描述这个类的作用)
 */
@Service("com.jy.modules.cims.component.tbj.TBJNoticeService")
public class TBJNoticeService {

    @Autowired
    @Qualifier("com.jy.modules.cims.component.tbj.TBJBusinessClient")
    private TBJBusinessClient tbj;

    @Autowired
    private NoticeDao noticeDao;

    private static final Logger logger = LoggerFactory.getLogger(TBJNoticeService.class);

    public void noticeTBJ() {
        List<NoticeDTO> list = noticeDao.findNotice();
        for (NoticeDTO noticeDTO : list) {
            try {
                TBJMessage tBJMessage = tbj.notice(noticeDTO);
                String result = tBJMessage.getResult();
                if ("1".equals(result)) {
                    // 成功
                    noticeDao.updateNotice(noticeDTO);
                } else if ("2".equals(result)) {
                    // 失败
                    logger.error("通知铜板街失败：" + tBJMessage.getMessage());
                }
            }
            catch (Exception e) {
                // TODO: handle exception
            }
        }
    }

    /**
     * 实时接口通知铜板街该募集计划完成
     * 
     * @title: noticeTBJ
     * @author
     * @description:
     * @date 2015-9-8 上午9:35:08
     * @param noticeDTO
     * @return
     * @throws
     */
    public TBJMessage noticeTBJ(NoticeDTO noticeDTO) {
        TBJMessage tBJMessage = tbj.notice(noticeDTO);
        return tBJMessage;
    }
}
